Method and device for executing application

ABSTRACT

A method for executing an application based on a connection between devices by automatically connecting devices, and a device, are disclosed. The method includes: detecting an occurrence of first short distance communication between at least one external device and the device; receiving connection information which relates to a second short distance communication mode and application information which relates to the at least one external device from the at least one external device via the first short distance communication; establishing a connection based on the second short distance communication mode between the at least one external device and the device based on the received connection information which relates to the second short distance communication mode; and controlling the at least one external device via the second short distance communication mode by using an application which is executable based on the received application information.

CROSS-REFERENCE TO RELATED PATENT APPLICATION

This is a Continuation of application Ser. No. 15/471,832 filed Mar. 28,2017, which is a Continuation of application Ser. No. 15/010,659 filedJan. 29, 2016 (now U.S. Pat. No. 9,635,499), which is a Continuation ofU.S. application Ser. No. 14/022,903, filed Sep. 10, 2013 (now U.S. Pat.No. 9,277,576), which claims priority from Korean Patent Application No.10-2012-0099791, filed on Sep. 10, 2012 in the Korean IntellectualProperty Office, the disclosures of which are incorporated herein byreference in their entireties.

BACKGROUND 1. Field

Exemplary embodiments relate to application execution, and moreparticularly, to a method and device for executing an application basedon connections between devices.

2. Description of the Related Art

Types of applications that may be used in devices such as smart phones,hand-held personal computers (PCs), tablet PCs, and smart televisions(TVs), have become diverse. Accordingly, applications which areexecutable based on connections between devices have been developed. Forexample, applications which are executable based on a connection betweena portable terminal and an accessory device have been developed.

However, with developments in communication technology, connectionmethods between devices have become more diverse. Accordingly, whendevices are connected to each other in order to execute an application,a user experiences inconvenience due to the necessity of identifying andsetting connection methods between devices for each device. For example,the user needs to inconveniently identify and set a connection methodbetween the portable terminal and the accessory device in each of theportable terminal and the accessory device.

SUMMARY

Exemplary embodiments provide a method for executing an applicationbased on a connection between devices by automatically connectingdevices, and a device.

Exemplary embodiments also provide a method for executing an applicationbased on a connection between devices by automatically connectingdevices via wireless communication, and a device.

Exemplary embodiments also provide a method for executing an applicationbased on a connection between a portable terminal and an accessorydevice by automatically connecting the portable terminal and theaccessory device, the portable terminal, and the accessory device.

According to an aspect of one or more exemplary embodiments, there isprovided an application execution method which is performable by using afirst device, the method including: detecting an occurrence of a firstshort distance communication between at least one external device andthe first device; receiving connection information which relates to asecond short distance communication mode and application informationwhich relates to the at least one external device from the at least oneexternal device via the first short distance communication; establishinga connection based on the second short distance communication modebetween the at least one external device and the first device by usingthe received connection information; and controlling the at least oneexternal device via the second short distance communication mode byusing an application which is executable based on the receivedapplication information.

The detecting the occurrence of the first short distance communicationmay be performed by using one of near field communication (NFC) andBluetooth low energy (BLE) communication.

The detecting the occurrence of the first short distance communicationmay be performed based on whether a distance between the at least oneexternal device and the first device is within a first short distancecommunication radius.

The detecting the occurrence of the first short distance communicationmay be performed based on whether a broadcast signal based on BLEcommunication is received from the at least one external device.

The method may further include: displaying information which relates tothe at least one external device; and establishing the connection basedon the second short distance communication mode when a connectionbetween the first device and an external device from among the at leastone external device is selected based on the displayed information whichrelates to the at least one external device.

The connection information which relates to the second short distancecommunication mode may include information which relates to the secondshort distance communication mode which is performed by the at least oneexternal device and additional information to be used when establishingthe connection between the first device and the at least one externaldevice based on the second short distance communication mode.

The additional information may include address information which relatesto the at least one external device when the second short distancecommunication mode is based on a direct communication mode betweendevices.

The establishing the connection based on the second short distancecommunication mode may include: determining the second short distancecommunication mode between the at least one external device and thefirst device by using the received connection information which relatesto the second short distance communication mode; transmitting, from thefirst device to the at least one external device, connection informationwhich relates to a relay to the at least one external device via firstshort distance communication when the second short distancecommunication mode is based on a communication mode which uses therelay; and receiving, from the at least one external device, a signalwhich indicates that a connection between the relay and the at least oneexternal device is established.

The establishing the connection based on the second short distancecommunication mode may include: determining the second short distancecommunication mode between the at least one external device and thefirst device by using the received connection information which relatesto the second short distance communication; transmitting, from the firstdevice to the at least one external device, a connection request signalby using the received connection information which relates to the secondshort distance communication when the second short distancecommunication mode is based on a direct communication between devices;and receiving a connection acceptance signal from the at least oneexternal device.

The second short distance communication mode may include at least onefrom among a wireless local area network (LAN) communication mode, awireless fidelity (WiFi) direct communication mode, a Bluetoothcommunication mode, an ultra wideband (UWB) communication mode, and aZigbee communication mode.

The establishing the connection based on the second short distancecommunication mode may include: registering the at least one externaldevice in the first device when a registration request is received fromthe at least one external device.

The application information which relates to the at least one externaldevice may include at least one of identification information whichrelates to the application and an execution command.

The controlling the at least one external device may include: searchingfor the application from the first device by using the receivedapplication information; if the application is determined not to beinstalled in the first device as a result of the searching, downloadingand executing the application from an outside; and if the application isdetermined to be installed in the first device as a result of thesearching, executing the application by the first device.

The connection information which relates to the second short distancecommunication mode may further include authentication information whichrelates to the at least one external device, wherein the establishingthe connection based on the second short distance communication isperformed after performing authentication processing by using thereceived authentication information.

According to another aspect of one or more exemplary embodiments, thereis provided a first device including: a first short distancecommunication unit which is configured to communicate between at leastone external device and the first device by using a first short distancecommunication mode; a second short distance communication unit which isconfigured to communicate between the at least one external device andthe first device by using a second short distance communication mode,when the first device is connected to the at least one external devicebased on a connection information which relates to the second shortdistance communication mode which is received from the at least oneexternal device via the first short distance communication unit; and aprocessor which is configured to receive the connection informationwhich relates to the second short distance communication mode andapplication information which relates to the at least one externaldevice via the first short distance communication unit, in order toestablish a connection between the at least one external device and thefirst device based on the connection information which relates to thesecond short distance communication mode, and to control the at leastone external device via the second short distance communication unit byexecuting an application based on the received application information.

According to another aspect of one or more exemplary embodiments, thereis provided an application execution method which is performable byusing an external device, the method including: detecting an occurrenceof first short distance communication between at least one device andthe external device; transmitting connection information which relatesto a second short distance communication mode to be performed by theexternal device and application information which relates to theexternal device to the at least one device via first short distancecommunication; establishing a connection based on a second shortdistance communication mode between the external device and the at leastone device based on the information which is received from the at leastone device; receiving a control signal based on an application which isexecuted by the at least one device via the second short distancecommunication mode; and operating the external device based on thereceived control signal.

The information which is received from the at least one device mayinclude a connection request signal when the second short distancecommunication mode is based on a direct communication mode betweendevices and connection information which relates to a relay when thesecond short distance communication mode is based on a communicationmode which uses the relay.

According to another aspect of one or more exemplary embodiments, thereis provided an application execution method which is performable byusing an external device, the method including: broadcasting connectioninformation which relates to a second short distance communication modeand application information which relates to the external device viafirst short distance communication; establishing a connection which isbased on the second short distance communication mode between at leastone device and the external device based on information which isreceived from the at least one device; receiving a control signal via anapplication which is executed by the at least one device via the secondshort distance communication mode; and operating hardware of theexternal device based on the received control signal.

According to another aspect of one or more embodiments, there isprovided a non-transitory computer readable recording medium storing atleast one program which includes commands for executing an applicationexecution method which is performable by using a first device, whereinthe application execution method is performable by using the firstdevice in the same manner as the above-described application executionmethod which is performable by using the first device.

According to another aspect of one or more exemplary embodiments, thereis provided a non-transitory computer readable recording medium storingat least one program which includes commands for executing anapplication execution method which is performable by using an externaldevice, wherein the application execution is performable by using theexternal device in the same manner as the above-described applicationexecution method which is performable by using the external device.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other features and advantages of the present inventiveconcept will become more apparent by describing in detail exemplaryembodiments thereof with reference to the attached drawings in which:

FIG. 1 illustrates a configuration of an application execution system,according to an exemplary embodiment;

FIG. 2 is a flowchart which illustrates an application execution methodwhich is performable by using a first device, according to an exemplaryembodiment;

FIG. 3 is a detailed flowchart which illustrates an operation ofestablishing a connection based on a second short distance communicationmode to a second device of FIG. 2;

FIG. 4 is a detailed flowchart which illustrates a process for executingan application in an operation of controlling the second device of FIG.2;

FIG. 5 is a flowchart which illustrates an application execution methodwhich is performable by using a second device, according to an exemplaryembodiment;

FIG. 6 is a flowchart which illustrates an application execution methodwhich is performable by using a second device, according to anotherexemplary embodiment;

FIG. 7 is a flowchart which illustrates an application execution method,according to an exemplary embodiment;

FIG. 8 is a flowchart which illustrates an application execution method,according to another exemplary embodiment;

FIG. 9 is a flowchart which illustrates an application execution method,according to another exemplary embodiment;

FIG. 10 is a flowchart which illustrates an application executionmethod, according to another exemplary embodiment;

FIG. 11 is a block diagram of a first device, according to an exemplaryembodiment; and

FIG. 12 is a block diagram of a second device, according to an exemplaryembodiment.

DETAILED DESCRIPTION

As the present inventive concept allows for various changes and numerousembodiments, particular exemplary embodiments will be illustrated in thedrawings and described in detail in the written description. However,this is not intended to limit the present inventive concept toparticular modes of practice, and it will be appreciated that allchanges, equivalents, and substitutes that do not depart from the spiritand technical scope of the present inventive concept are encompassed inthe present inventive concept. In the detailed description, certaindetailed explanations of the related art are omitted when it is deemedthat they may unnecessarily obscure the essence of the exemplaryembodiments.

Terms such as “first” and “second” are used herein merely to describe avariety of constituent elements, but the constituent elements are notlimited by the terms. The terms are used only for the purpose ofdistinguishing one constituent element from another constituent element.

Most of the terms used herein are general terms that are widely used inthe technical art to which the exemplary embodiments pertain. However,some of the terms used herein may be created to reflect intentions oftechnicians in this art, precedents, or new technologies. Also, some ofthe terms used herein may be arbitrarily chosen by the presentapplicant. In this case, these terms are defined in detail below.Accordingly, the specific terms used herein should be understood basedon the unique meanings thereof and the whole context of the exemplaryembodiments.

As used herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises” or“comprising,” when used in this specification, specify the presence ofstated features, integers, steps, operations, elements, components,and/or groups thereof, but do not preclude the presence or addition ofone or more other features, integers, steps, operations, elements,components, and/or groups thereof. As used herein, the term “and/or”includes any and all combinations of one or more of the associatedlisted items. Expressions such as “at least one of,” when preceding alist of elements, modify the entire list of elements and do not modifythe individual elements of the list.

Throughout the specification, an ‘application’ refers to a computerprogram which is devised to perform specific operations based on aconnection between devices that will be described later. For example,the application may include any one or more of a game application, aninstrument playing application, a moving image reproduction application,a music reproduction application, a map application, a broadcastingapplication, an exercise support application, a medical application, apayment application, a transportation mode (for example, a car, a bus,an airplane, or a ship) automatic navigation application, a peripheraldevice control application, and the like.

Throughout the specification, a first device is a device whichindependently executes an application. A second device is a device whichis connected to the first device in order to execute the application.According to roles of the first device and the second device withrespect to the execution of the application, the first device may bereferred to as a host device or a portable terminal, and the seconddevice may be referred to as an accessory device or an external device.The second device may be referred to as hardware which operates inconjunction with the application.

For example, when the application is a transportation mode automaticnavigation application, the second device may be a car whichcommunicates with the first device, and the first device may be a devicewhich controls the second device by installing an automatic navigationapplication for the car. When the application is an insulin monitoringapplication, the second device may be a device which communicates withthe first device and which measures insulin resistance and sensitivity,and the first device may be a device which controls the second device byinstalling the insulin monitoring application.

Throughout the specification, an ad-hoc mode wireless local area network(LAN) and an infrastructure mode wireless LAN are examples ofcommunication mode which is identifiable based on whether a relay isused during short distance communication between devices. In particular,the ad-hoc mode wireless LAN is an example of a direct communicationmode between devices without a relay, and may include, for example, aWiFi direct (WFD) communication network. The infrastructure modewireless LAN is an example of a communication mode between devices via arelay, and may be a WiFi communication network. Thus, the ad-hoc modewireless LAN throughout the specification is to be understood as beingthe direct communication mode between devices without any relay, and theinfrastructure mode wireless LAN throughout the specification is to beunderstood as being the communication mode between devices via a relay.

The present inventive concept will now be described more fully withreference to the accompanying drawings, in which exemplary embodimentsare shown. Like reference numerals in the drawings denote like elementsand thus their descriptions will not be repeated herein.

FIG. 1 illustrates a configuration of an application execution system,according to an exemplary embodiment.

Referring to FIG. 1, the application execution system includes a firstdevice 100, a relay 110, a second device 120, and a server 130, but isnot limited thereto. In particular, the application execution system mayinclude more or less elements than those shown in FIG. 1.

For example, the application execution system may not include the relay110 and the server 130. In this case, the first device 100 and thesecond device 120 may be connected to each other via a directcommunication mode between devices. The direct communication modebetween devices provides for direct transmission and reception of databetween devices without the relay 110. Examples of the directcommunication mode between devices may include any one or more of aBluetooth communication mode, an ultra wideband (UWB) communicationmode, a Zigbee communication mode, and a WiFi direct communication mode,but is not limited thereto. The direct communication mode betweendevices may be referred to as a machine-to-machine (M2M) communicationmode, a device-to-device (D2D) communication mode, or a peer to peer(P2P) communication mode.

The application execution system may not include the relay 110 and theserver 130 but may include a plurality of first devices 100. In thiscase, the plurality of first devices 100 and the second device 120 maybe connected to each other via the direct communication mode betweendevices. For example, when the plurality of first devices 100 areportable terminals, and the second device 120 is a printer, theplurality of portable terminals may be connected to the printer via adirect communication mode between devices.

The application execution system may not include the relay 110 and theserver 130 but may include a plurality of second devices 120. In thiscase, the first device 100 and the plurality of second devices 120 maybe connected to each other via the direct communication mode betweendevices. For example, when the first device 100 is a portable terminal,and the plurality of second devices 120 are a speaker and a microphone,the portable terminal may be connected to the speaker and the microphonevia a direct communication mode between devices.

The application execution system may not include the relay 110 and theserver 130 and may include a plurality of first devices 100 and aplurality of second devices 120. In this case, the plurality of firstdevices 100 and the plurality of second devices 120 may be connected toeach other via the direct communication mode between devices. Forexample, when the plurality of first devices 100 are portable terminals,and the plurality of second devices 120 are scanners, each of theportable terminals may be connected to each of the scanners via thedirect communication mode between devices.

The application execution system may not include the server 130 and mayinclude the first device 100, the relay 110, and the second device 120.When the application execution system of FIG. 1 includes the relay 110,the first device 100 and the second device 120 may selectively use eachof a communication mode for transmitting data via the relay 110 and thedirect communication mode between devices without the relay 110.

The first device 100 and the second device 120 may be connected to eachother by wire and/or wirelessly. In particular, according to exemplaryembodiments, the first device 100 may be connected to the second device120 via short distance communication. According to exemplaryembodiments, short distance communication between the first device 100and the second device 120 may be defined as including first shortdistance communication and second short distance communication.

According to exemplary embodiments, the first short distancecommunication is communication in which the first device 100 recognizesthe second device 120 and performs communication with the second device120 before connecting the second short distance communication betweenthe first device 100 and the second device 120. The recognizing thesecond device 120 by the first device 100 may include, for example,recognizing a communication mode which is performed by the second device120 and an application which relates to the second device 120 during thesecond short distance communication. Recognizing the second device 120by the first device 100 may include in a communication process which isperformed between the first device 100 and the second device 120 beforeconnecting the second short distance communication between the firstdevice 100 and the second device 120.

The first short distance communication may be referred to ascommunication which is performed between the first device 100 and thesecond device 120 before the first device 100 executes an application.The first short distance communication may be performed based on one ofa near field communication (NFC) mode and a Bluetooth low energy (BLE)communication mode, but is not limited thereto.

The NFC mode may bi-directionally transmit data between the first device100 and the second device 120 if a distance between the first device 100and the second device 120 is within a first short distance communicationradius. The first device 100 may read data which is stored in the seconddevice 120 while operating in the NFC mode. In this case, the seconddevice 120 may perform the NFC mode based on an NFC tag. The first shortdistance communication radius is currently known to be about 10 cm, butis not limited thereto. The distance between the first device 100 andthe second device 120 is based on a current location of the first device100 and a current location of the second device 120.

The second device 120 may provide or transmit connection informationwhich relates to a second short distance communication mode to beperformed by the second device 120, application information whichrelates to the second device 120, a connection request signal, aconnection acceptance signal, and a connection notification signal,which will be described below, to the first device 100 while operatingin the NFC mode, but is not limited thereto.

The second short distance communication is communication performedbetween the first device 100 and the second device 120 in order for thefirst device 100 to control the second device 120 after the first device100 executes an application. Examples of the second short distancecommunication may include any one or more of Bluetooth communication,UWB communication, Zigbee communication, WiFi direct communication, andinfrastructure mode wireless LAN (e.g., WiFi) communication, but is notlimited thereto.

Information which relates to the second short distance communicationmode may include information which indicates whether the second shortdistance communication mode is a communication mode via the relay 110 ora direct communication mode between devices. For example, theinformation which relates to the second short distance communicationmode may include information which indicates the infrastructure modewireless LAN (e.g., WiFi) communication mode or Bluetooth communicationmode, but is not limited thereto.

When the information which relates to the second short distancecommunication mode includes the information which indicates theinfrastructure mode wireless LAN communication mode, the connectioninformation which relates to the second short distance communicationmode may include information which relates to the second short distancecommunication mode, and may not include the above-described additionalinformation.

When the information which relates to the second short distancecommunication mode includes the information which indicates theBluetooth communication mode, the connection information which relatesto the second short distance communication mode may include an addressof the second device 120, such as a media access control (MAC) addressof the second device 120, or an Internet protocol (IP) address of thesecond device 120, as additional information.

The connection information which relates to the second short distancecommunication mode is not limited thereto. In particular, the connectioninformation which relates to the second short distance communication mayinclude authentication information, irrespective of whether the secondshort distance communication uses the relay 110. The authenticationinformation is used to authenticate the second device 120 if the seconddevice 120 is a device which is controllable via an application which isexecuted by the first device 100 or a device which is allowed to connectthe first device 100. When an N number of second devices 120 areconnected to the first device 100, the N number of second devices 120may have the same authentication information.

The application information which relates to the second device 120 mayinclude at least one of application identification information and anapplication execution command, but is not limited thereto. Theapplication identification information may include information which isusable to search for an application in the first device 100 or theserver 130.

The first device 100 may transmit connection information which relatesto the relay 110, connection information which relates to the secondshort distance communication mode to be performed by the first device100, and a connection request signal to the second device 120 by usingthe NFC mode, but is not limited thereto. In this regard, the firstdevice 100 may write the above-described information to the NFC tag ofthe second device 120, but is not limited thereto.

The BLE communication mode has a characteristic of seamlesslybroadcasting information. Thus, when the first short distancecommunication is based on the BLE communication mode, the second device120 seamlessly broadcasts information which includes the above-describedconnection information which relates to the second short distancecommunication mode and the application information which relates to thesecond device 120. The BLE communication mode has a maximum transmissiondistance which is equal to or greater than 100 m. Thus, if the distancebetween the second device 120 and the first device 100 is within 100 m,the first device 100 includes a Bluetooth function of receiving theabove-described information broadcast by the second device 120.

When the second device 120 transmits the connection information whichrelates to the second short distance communication mode and theapplication information which relates to the second device 120 to thefirst device 100, the second device 120 may transmit identificationinformation and service information which relates the second device 120that the first device 100 requires, such as a manufacturer name of thesecond device 120, a serial number thereof, a software version thereof,and/or any other suitable type of information.

The first device 100 may perform a connection which is based on thesecond short distance communication mode to the second device 120 byusing the connection information which relates to the second shortdistance communication mode which is received from the second device120. For example, if the connection information which relates to thesecond short distance communication mode includes information whichindicates the infrastructure mode wireless LAN communication, the firstdevice 100 transmits the connection information which relates to therelay 110 that has been connected or is to be connected to the firstdevice 100 to the second device 120 via the first short distancecommunication. When the first device 100 is not connected to the relay110, the first device 100 transmits connection information which relatesto the relay 110 which is stored in the first device 100 to the seconddevice 120.

The connection information which relates to the relay 110 is informationwhich may be necessary for implementing a connection to the relay 110.For example, the connection information which relates to the relay 110may include a service set identifier (SSID), channel information,security and authentication key information, encryption key information,an IP address, a MAC address, and/or any other suitable type ofinformation, but is not limited thereto.

The second device 120 transmits the connection request signal to therelay 110 by using the connection information which relates to the relay110. If the second device 120 receives the connection acceptance signalfrom the relay 110, the second device 120 transmits the connectionnotification signal which indicates that the second device 120 isconnected to the relay 110 via the first short distance communication tothe first device 100.

The first device 100 recognizes that the second device 120 has beenconnected to the relay 110, and, if the first device 100 is connected tothe relay 110, may recognize that a connection for the second shortdistance communication between the first device 100 and the seconddevice 120 is established.

If the connection information which relates to the second short distancecommunication mode includes the information which indicates theBluetooth communication mode, the first device 100 requests the seconddevice 120 to connect thereto by using the received additionalinformation. In this regard, the communication with the second device120, which is performed by the first device 100, is the first shortdistance communication. If the first device 100 receives the connectionacceptance signal from the second device 120 based on the first shortdistance communication, the connection between the first device 100 andthe second device 120 for the second short distance communication isestablished.

If the connection for the second short distance communication isestablished between the first device 100 and the second device 120, thefirst device 100 controls the second device 120 or communicates datawith the second device 120 via the second short distance communicationwhile executing the application which relates to the second device 120.The above operation may be referred to as that the first device 100controls the second device 120 while the first device 100 and the seconddevice 120 execute the application.

The first device 100 may be implemented in various forms. For example,the first device 100 may include any one or more of a portable terminal,a smart phone, a notebook personal computer (PC), a tablet PC, ahandheld PC, an e-book terminal, a digital broadcasting terminal, apersonal digital assistant (PDA), a portable multimedia player (PMP), anavigation system, a smart television (TV), a digital consumerelectronics (CE) device (for example, a refrigerator with a displaypanel, an air conditioner, a dish washer, etc.), an iPhone operatingsystem (iOS)-compatible device, and/or any other suitable device, but isnot limited thereto.

The first device 100 may provide at least one of an applicationexecution function, a communication function, a media player function, aweb browsing function, a word processing function, an e-mailingfunction, a messenger function, and/or a data storage function, and/orany other suitable function, but is not limited thereto.

The second device 120 is a device which relates to the application whichis executed by the first device 100. In particular, the second device120 is a device which operates by being combined with the applicationwhich is executed by the first device 100. The second device 120 maycommunicate with the first device 100 by using the first short distancecommunication mode and the second short distance communication mode.

The second device 120 may include any one or more of an input apparatus,an output apparatus, and a control apparatus, etc. For example, thesecond device 120 may include a device having a function ofcommunicating with the first device 100, such as any one or more of amicrophone, a speaker, a pedal, a joystick, a musical instrument (e.g.,a piano, an organ, an electronic keyboard, a guitar, a violin, a cello,etc.), a game manipulation apparatus, a doll, a medical tool, anexercise tool, the CE device (e.g., a refrigerator with a display panel,an air conditioner, a dish washer, etc.), a security system, a camera, ameasuring device, automotive accessory device (a head unit, a car stereounit, a car navigation system, etc.), a transportation mode (a car, abus, an airplane, a ship, etc.), etc., but is not limited thereto.

The relay 110 may include a wireless relay base station. The relay 110may be configured to link with a wired LAN. In this case, the relay 110may include a wired/wireless Internet sharer which has an Internetsharing function. The relay 110 may be configured to include an accesspoint (AP) having a wired and/or wireless linking function and/or awireless sharer which has a function of sharing Internet with the AP.

The server 130 may provide an application to the first device 100 ordownload the application in response to a request of the first device100. Thus, the server 130 may be referred to as an application providingserver or an external server of the first device 100 or a cloud serverof the first device 100.

The server 130 may execute the application while communicating with thefirst device via the relay 110 and communicate with the second device120 in response to a request of the first device 100.

Meanwhile, the application execution system of FIG. 1 may be modified insuch a way that the server 130 may directly communicate with the firstdevice 100 without the relay 110. In particular, the applicationexecution system may be configured to include the first device 100, thesecond device 120, and the server 130. In this regard, the server 130 isa device which is capable of the above-described direct communicationbetween devices, and may be referred to as a peripheral device whichtransmits the application to the first device 100 in response to therequest of the first device 100.

FIG. 2 is a flowchart which illustrates an application execution methodwhich is performable by using the first device 100, according to anexemplary embodiment.

In operation S201, the first device 100 detects an occurrence of thefirst short distance communication with the second device 120.

For example, when the first short distance communication between thefirst device 100 and the second device 120 is based on an NFC mode, if adistance between the first device 100 and the second device 120 iswithin a first short distance communication radius, the first device 100may detect the occurrence of the first short distance communication withthe second device 120. When the distance between the first device 100and the second device 120 is within the first short distancecommunication radius, NFC tagging may occur between the first device 100and the second device 120. When the first short distance communicationbetween the first device 100 and the second device 120 is based on a BLEcommunication mode, if the distance between the first device 100 and thesecond device 120 is within the first short distance communicationradius, and if the first device 100 detects a reception of a signal thatis broadcast based on the Bluetooth communication mode from the seconddevice 120, the first device 100 may detect the occurrence of the firstshort distance communication with the second device 120.

The first short distance communication radius when the first shortdistance communication is based on the NFC mode is different from thefirst short distance communication radius when the first short distancecommunication is based on the BLE communication mode, as described abovewith reference to FIG. 1.

To respectively detect the occurrence of the first short distancecommunication based on the NFC mode and the first short distancecommunication based on the BLE communication mode, the first device 100may include a first short distance communication unit 1120 asillustrated in FIG. 11, which will be described below.

In operation S202, the first device 100 receives connection informationwhich relates to the second short distance communication mode andapplication information which relates to the second device 120 from thesecond device 120. For example, when the first short distancecommunication is based on the NFC mode, the first device 100 may receivethe above-described information which is stored in the second device 120by reading the above-described information or by allowing the seconddevice 120 to write the above-described information in the first device100. When the first short distance communication is based on the BLEcommunication mode, the first device 100 receives the above-describedinformation that is broadcast based on the Bluetooth communication modefrom the second device 120. However, the application information mayfurther include progress status information which relates to anapplication.

In operation S203, the first device 100 establishes a connection to thesecond device 120 based on the connection information which relates tothe second short distance communication. FIG. 3 is a flowchart whichillustrates operation S203. In particular, FIG. 3 is a flowchart whichillustrates the connection based on the second short distancecommunication mode to the second device 120, which is performed by thefirst device 100.

In operation S301, the first device 100 determines the second shortdistance communication mode which is available with respect to thesecond device 120. In particular, the first device 100 determines thesecond short distance communication mode which is available with respectto the second device 120 by using communication mode information whichis included in the connection information which relates to the secondshort distance communication received in operation S202. Thecommunication mode information may include information which indicatesthe second short distance communication mode which is available withrespect to the second device 120 as described with reference to FIG. 1.

For example, when information which indicates a Bluetooth communicationmode is defined as 01, and information which indicates an infrastructurewireless LAN communication mode is defined as 10, the first device 100may detect the communication mode information from the connectioninformation which relates to the second short distance communication. Ifthe detected communication mode information is 01, the first device 100may determine the second short distance communication mode used by thesecond device 120 as the Bluetooth communication mode. If the detectedcommunication mode information is 10, the first device may determine thesecond short distance communication mode used by the second device 120as the infrastructure wireless LAN communication mode. However, themethod of determining the second short distance communication mode isnot limited thereto.

When the first device 100 communicates with the server 130 via the relay110 by using the infrastructure wireless LAN communication mode, thefirst device 100 may sense an occurrence of the first short distancecommunication with the second device 120. In this regard, if theconnection information which relates to the second short distancecommunication which is received from the second device 120 indicates theinfrastructure wireless LAN communication mode, the first device 100 mayoperate a WiFi mode which operates via the relay 100 as a WiFi dualmode.

In this case, the first device 100 may use the same IP address ordifferent IP addresses in order to communicate with the server 130 andthe second device 120 via the relay 110. Whether to use the same IPaddress or different IP addresses is determined based on the number ofIP addresses set in the first device 100. In particular, when one IPaddress is allocated to the first device 100, the first device 100 usesthe same IP address, and, if a plurality of IP addresses are allocatedto the first device 100, the first device 100 may use different IPaddresses or the same IP address.

The WiFi dual mode may include concurrently operating a communicationmode via the relay 100 and a WiFi direct mode without the relay 100. Inparticular, when the first device 100 communicates with the server 130via the relay 110 by using the infrastructure wireless LAN communicationmode, the first device 100 may sense the occurrence of the first shortdistance communication with the second device 120. In this regard, ifthe connection information which relates to the second short distancecommunication mode which is received from the second device 120indicates a WiFi direct communication mode, the first device 100 mayperform a direct communication between devices with the second device120 by using the WiFi direct communication mode while communicating withthe server 130 via the relay 110. For example, when the first device 100is a mobile terminal, the second device 120 is a smart TV, and the firstdevice 100 downloads a moving image from the server 130, the firstdevice 100 may control the second device 120 to reproduce thedownloading moving image by the second device 120.

When the second device 120 performs the first short distancecommunication by using the BLE communication mode and the second shortdistance communication by using the Bluetooth communication mode, thesecond device 120 may be embedded with a dual mode solution, but is notlimited thereto. The dual mode solution may indicate facilitating aclassic Bluetooth communication mode and BLE communication modefunctionality on a single chip. When the first device 100 is alsoconfigured to perform the first short distance communication and thesecond short distance communication by using the Bluetooth communicationmode similarly as the second device 120, it may be understood that thedual mode solution is embedded in first device 100. The Bluetoothcommunication mode which is used for the second short distancecommunication may be referred to as classic Bluetooth so as to bedistinguished from the BLE communication mode which is used for thefirst short distance communication.

When the second device 120 performs the first short distancecommunication by using the NFC mode and the second short distancecommunication by using the Bluetooth communication mode, It may beunderstood that the second device 120 may be embedded with a single modesolution with respect to Bluetooth communication, but is not limitedthereto. When the second device 120 performs the first short distancecommunication by using the BLE communication mode and the second shortdistance communication by using a communication mode other than theBluetooth communication mode, it may be understood that the seconddevice 120 may be embedded with the single mode solution with respect toBluetooth communication, but is not limited thereto.

Meanwhile, in operation S302, the first device 100 determines whetherthe second short distance communication mode which is available withrespect to the second device 120 is a communication mode which uses therelay 110.

In particular, when the second short distance communication mode whichis available with respect to the second device 120 is determined as theinfrastructure mode wireless LAN communication mode in operation S301,the first device 100 recognizes that the second short distancecommunication mode which is available with respect to the second device120 is the communication mode which uses the relay 110.

When the second short distance communication mode which is availablewith respect to the second device 120 is determined as the Bluetoothcommunication mode in operation S301, the first device 100 recognizesthat the second short distance communication mode which is availablewith respect to the second device 120 is a communication mode which doesnot use the relay 110.

When the first short distance communication is based on the BLEcommunication mode, the first device 100 displays information whichrelates to the second device 120 before establishing the connectionbased on the second short distance communication mode to the seconddevice 120 according to the above-described flowchart of FIG. 3. Theinformation which relates to the second device 120 includes informationwhich informs a user about the second device 120. For example, theinformation which relates to the second device 120 may includeapplication information which relates to the second device 120 andmanufacturer information thereof, but is not limited thereto. Theinformation which relates to the second device 120 may be displayed onthe first device 100 in an In_App advertisement form.

If a signal for a user's selection of a connection to the second device120 based on the displayed information which relates to the seconddevice 120 is received, the first device 100 may perform theabove-described operation to establish the connection based on thesecond short distance communication mode to the second device 120.

In operation S303, the first device 100 transmits connection informationwhich relates to the relay 110 to the second device 120 via the firstshort distance communication. Accordingly, if a connection notificationwhich indicates that the second device 120 is connected to the relay 110is received from the second device 120, the first device 100 performsthe establishing the connection based on the second short distancecommunication to the second device 120 via the relay 110.

In operation S304, the first device 100 enables the second shortdistance communication based on a direct communication between devices.For example, when the second short distance communication mode which isperformed by the second device 120 is the Bluetooth communication mode,the first device 100 enables the Bluetooth communication.

In operation S305, the first device 100 establishes the connection basedon the second short distance communication to the second device 120 byusing the enabled Bluetooth communication. In particular, the firstdevice 100 requests the second device 120 to connect thereto if theBluetooth communication is enabled in the first device 100. If aconnection acceptance signal is received from the second device 120, thefirst device 100 establishes the connection based on the second shortdistance communication to the second device 120.

Referring to operation S204 of FIG. 2, the first device 100 controls thesecond device 120 via the second short distance communication. Inparticular, if the connection based on the second short distancecommunication is established between the first device 100 and the seconddevice 120, the first device 100 executes the application based on theapplication information which relates to the second device 120 which isreceived in operation S202, and controls the second device 120 whileperforming data communication with the second device 120 via the secondshort distance communication.

FIG. 4 is a flowchart which illustrates an execution of an applicationin operation S204.

In operation S401, the first device 100 searches for an applicationtherein based on the received application information. If the firstdevice 100 determines that the application is installed therein inoperation S402, the first device 100 executes the application inoperation S403.

When the application is installed in the first device 100, the firstdevice 100 may execute the application by reflecting past historyinformation which relates to a connection between the first device 100and the second device 120. The past history information may includeprogress status information, such as, for example, any one or more of amaximum score, a game level, used character information, etc. when theapplication is a game, but is not limited thereto. When the past historyinformation includes the maximum score, the application which isexecuted by the first device 100 may display information which relatesto the above-described maximum score.

If the first device 100 determines that the application is not installedtherein in operation S402, the first device 100 downloads theapplication from the server 130 in operation S404. In operation S405,the first device 100 executes the downloaded application.

Referring to operation S204 of FIG. 2, if the first device 100 executesthe application in operation S204, the first device 100 controls thesecond device 120 via the second short distance communication based onan operation of the application. For example, if the executedapplication is a musical instrument playing application, and the seconddevice 120 includes piano keys, the first device 100 may control anoperation of the piano keys while executing the musical instrumentplaying application.

FIGS. 2, 3, and 4 show a case in which the application information isreceived from the second device 120. However, the application executionmethod according to an exemplary embodiment may not receive theapplication information from the second device 120, recognize the seconddevice 120 via the first short distance communication, and thenautomatically search for the application by the first device 100 basedon the recognized information which relates to the second device 120.

FIG. 5 is a flowchart of an application execution method which isperformable by using the second device 120, according to an exemplaryembodiment. FIG. 5 shows a case in which the first short distancecommunication between the first device 100 and the second device 120uses an NFC mode.

In operation S501, the second device 120 detects an occurrence of thefirst short distance communication with the first device 100. Forexample, when the first short distance communication is based on the NFCmode, as described with reference to FIG. 2, if a distance between thefirst device 100 and the second device 120 is within a first shortdistance communication radius, the second device 120 may detect theoccurrence of the first short distance communication with the firstdevice 100.

In operation S502, the second device 120 transmits the connectioninformation which relates to the second short distance communication andapplication information to the first device 100. In this regard, asdescribed with reference to the first device 100, the second device 120may not transmit the application information to the first device 100.

In operation S503, the second device 120 establishes the connection ofthe second short distance communication to the first device 100 by usinginformation which is received from the first device 100. In case of thatthe second short distance communication mode which is available withrespect to the second device 120 should use the relay 110, theinformation which is received from the first device 100 may includeconnection information which relates to the relay 110. In case of thatthe second short distance communication mode which is available withrespect to the second device 120 does not use the relay 110, theinformation which is received from the first device 100 may include aconnection request signal based on the second short distancecommunication mode enabled by the first device 100.

In operation S504, the second device 120 receives a control signal fromthe first device 100 via the second short distance communication whichis established between the first device 100 and the second device 120.In operation S505, the second device 120 operates hardware thereof basedon the control signal. In operation S505, the second device 120 mayoperate hardware and software of the second device 120 based on thereceived control signal. Operations S504 and S505 may be understood asreferring to operating the second device 120 based on the control signalwhich is received from the first device 100 while the second device 120and the first device 100 execute an application.

FIG. 6 is a flowchart which illustrates an application execution methodwhich is performable by using the second device 120, according toanother exemplary embodiment. FIG. 6 shows a case in which the firstshort distance communication between the first device 100 and the seconddevice 120 uses a BLE communication mode.

In operation S601, the second device 120 broadcasts the connectioninformation which relates to the second short distance communication andapplication information which relates to the second device 120 via thefirst short distance communication. The first short distancecommunication uses the BLE communication mode.

In operation S602, the second device 120 establishes the connectionbased on the second short distance communication to the first device 100by using information which is received from the first device 100. Incase of that the second short distance communication mode which isavailable with respect to the second device 120 should use the relay110, the information which is received from the first device 100 mayinclude connection information which relates to the relay 110. In caseof that the second short distance communication which is available withrespect to the second device 120 does not use the relay 110, theinformation which is received from the first device 100 may include aconnection request signal based on the second short distancecommunication which is enabled by the first device 100.

In operation S603, the second device 120 receives a control signal fromthe first device 100 via the second short distance communication whichis established between the first device 100 and the second device 120.In operation S604, the second device 120 operates hardware thereof basedon the control signal. Operation S604 may operate hardware and softwareof the second device 120 based on the received control signal.

FIG. 7 is a flowchart which illustrates an application execution method,according to an exemplary embodiment. FIG. 7 shows a case in which firstshort distance communication is performed by using an NFC mode, andsecond short distance communication is a communication mode which usesthe relay 110.

In operation S701, because a distance between the first device 100 andthe second device 120 is closer to a first short distance communicationradius, in operation S702, the first device 100 and the second device120 respectively detect an occurrence of the first short distancecommunication.

In operation S703, the second device 120 transmits the connectioninformation which relates to the second short distance communication andapplication information which relates to the second device 120 to thefirst device 100 via NFC.

In operation S704, the first device 100 performs authenticationprocessing with respect to the second device 120. Authenticationprocessing may be performed by authenticating authentication informationwhich is received from the second device 120. The authenticationinformation which is received from the second device 120 may bepreviously set in each of the first device 100 and the second device120. Thus, the authentication information may be received from thesecond device 120 in operation S703. If the authentication informationis not received from the second device 120 in operation S703, and whenan exemplary embodiment is implemented not to perform authenticationprocessing with respect to the second device 120, operation S704 may beskipped.

When an exemplary embodiment is implemented to perform authenticationprocessing with respect to the second device 120, if the authenticationinformation is not received from the second device 120 or wrongauthentication information is received from the second device 120, thefirst device 100 may not perform a next operation.

In operation S705, the first device 100 determines the second shortdistance communication mode that can be performed by the second device120 based on the received connection information which relates to thesecond short distance communication. The determining the second shortdistance communication mode is performed as described with reference tooperation S301 of FIG. 3.

FIG. 7 shows a case in which the second short distance communicationmode that can be performed by the second device 120 uses the relay 110.Thus, in operation S706, the first device 100 transmits connectioninformation which relates to the relay 110 to the second device 120.FIG. 7 shows a case in which the first device 100 is not connected tothe relay 110 and stores the connection information which relates to therelay 110 therein.

In operation S707, the second device 120 requests the relay 110 toconnect thereto by using the received connection information whichrelates to the relay 110. In operation S708, if a connection acceptancesignal is received from the relay 110, in operation S709, the seconddevice 120 transmits a connection notification which indicates that thesecond device 120 is connected to the relay 110 to the first device 100.

In operation S710, the first device 100 requests the relay 110 toconnect thereto by using the connection information which relates to therelay 110. In operation S711, if a connection acceptance signal isreceived from the relay 110, in operation S712, the first device 100executes an application. The executing the application may be performedas illustrated in the flowchart of FIG. 4.

In operation S713, the first device 100 controls the second device 120via the relay 110 based on the executed application.

FIG. 8 is a flowchart which illustrates an application execution method,according to another exemplary embodiment. FIG. 8 shows a case in whichfirst short distance communication is performed by using a BLEcommunication mode, and second short distance communication is performedby using the relay 110.

In operation S801, because the first device 100 receives the connectioninformation which relates to the second short distance communicationconnection information and application information which relates to thesecond device 120 which is broadcast from the second device 120, inoperation S802, the first device 100 detects an occurrence of the firstshort distance communication. Although operations S801 and S802 areshown as different operations for the convenience of explanation, theymay be understood to be concurrently performed. In particular, the firstdevice 100 may detect the occurrence of the first short distancecommunication concurrently with receiving a signal broadcast from thesecond device 120.

In operation S803, the first device 100 performs authenticationprocessing with respect to the second device 120. Authenticationprocessing may be performed by authenticating authentication informationwhich is received from the second device 120. The authenticationinformation which is received from the second device 120 may bepreviously set in each of the first device 100 and the second device120. Thus, the authentication information may be received from thesecond device 120 in operation S801. If the authentication informationis not received from the second device 120 in operation S801, and whenan exemplary embodiment is implemented not to perform authenticationprocessing with respect to the second device 120, operation S803 may beskipped.

When an exemplary embodiment is implemented to perform authenticationprocessing with respect to the second device 120, if the authenticationinformation is not received from the second device 120 or wrongauthentication information is received from the second device 120, thefirst device 100 may not perform a next operation.

In operation S804, the first device 100 displays information whichrelates to the second device 120. To this end, the second device 120 maytransmit the information which relates to the second device 120 to thefirst device in operation S801.

After the first device 100 detects the occurrence of the first shortdistance communication in operation S802, the first device 100 may beimplemented to receive the above-described authentication informationand the information which relates to the second device 120 based on aninformation request from the first device 100 to the second device 120.

In operation S805, if user information which relates to selecting aconnection to the second device 120 is received based on the displayedinformation which relate to the second device 120, in operation S806,the first device 100 determines the second short distance communicationmode that may be performed by the second device 120 by using theconnection information which relates to the second short distancecommunication. The determining of the second short distancecommunication mode is performed as described with reference to operationS301 of FIG. 3.

FIG. 8 shows a case in which the second short distance communicationmode that may be performed by the second device 120 uses the relay 110.Thus, in operation S807, the first device 100 transmits connectioninformation which relates to the relay 110 to the second device 120.FIG. 8 shows a case in which the first device 100 is not connected tothe relay 110 and stores the connection information which relates to therelay 110 therein.

In operation S808, the second device 120 requests the relay 110 toconnect thereto by using the received connection information whichrelates to the relay 110. In operation S809, if a connection acceptancesignal is received from the relay 110, in operation S810, the seconddevice 120 transmits a connection notification which indicates that thesecond device 120 is connected to the relay 110 to the first device 100.

In operation S811, the first device 100 requests the relay 110 toconnect thereto by using the connection information which relates to therelay 110. In operation S812, if a connection acceptance signal isreceived from the relay 110, in operation S813, the first device 100executes an application. The executing of the application may beperformed as illustrated in the flowchart of FIG. 4.

In operation S814, the first device 100 controls the second device 120via the relay 110 based on the executed application.

FIG. 9 is a flowchart which illustrates an application execution method,according to another exemplary embodiment. FIG. 9 shows a case in whichfirst short distance communication is performed by using an NFC mode,and second short distance communication is performed via directcommunication between devices, and not by using the relay 110.

In operation S901, because a distance between the first device 100 andthe second device 120 is closer to a first short distance communicationradius, in operation S902, the first device 100 and the second device120 detect an occurrence of the first short distance communication.

In operation S903, the second device 120 transmits the connectioninformation which relates to the second short distance communication andapplication information which relates to the second device 120 to thefirst device 100 via NFC.

In operation S904, the first device 100 performs authenticationprocessing with respect to the second device 120. Authenticationprocessing may be performed by authenticating authentication informationwhich is received from the second device 120. The authenticationinformation may be previously set in each of the first device 100 andthe second device 120. The authentication information may be receivedfrom the second device 120 in operation S903. If the authenticationinformation is not received from the second device 120 in operationS903, and when an exemplary embodiment is implemented not to performauthentication processing with respect to the second device 120,operation S904 may be skipped.

When an exemplary embodiment is implemented to perform authenticationprocessing with respect to the second device 120, if the authenticationinformation is not received from the second device 120 or wrongauthentication information is received from the second device 120, thefirst device 100 may not perform a next operation.

In operation S905, the first device 100 determines the second shortdistance communication mode that may be performed by the second device120 by using the connection information which relates to the secondshort distance communication. The determining of the second shortdistance communication mode is performed as described with reference tooperation S301 of FIG. 3.

FIG. 9 shows a case in which the second short distance communicationmode that may be performed by the second device 120 uses a directcommunication mode between devices, and does not use the relay 110.Thus, in operation S906, the first device 100 may transmit informationwhich relates to the first device 100 and which is necessary for arequest for direct communication between devices to the second device120 via NFC. Thus, the second device 120 may attempt to perform directcommunication between devices with the first device 100 first by usingthe information which relates to the first device 100.

The application execution method of FIG. 9 may be implemented not toperform operation S906 such that the direct communication betweendevices may be attempted by only the first device 100.

In operation S907, the first device 100 requests the second device 120for connection therebetween by using the received connection informationwhich relates to the second short distance communication mode that maybe performed by the second device 120. In operation S908, if aconnection acceptance signal is received from the second device 120, inoperation S909, the first device 100 executes an application. Theexecuting of the application may be performed as illustrated in theflowchart of FIG. 4.

In operation S910, the first device 100 controls the second device 120via the direct communication between devices based on the executedapplication.

FIG. 10 is a flowchart which illustrates an application executionmethod, according to another exemplary embodiment. FIG. 10 shows a casein which first short distance communication is performed by using a BLEcommunication mode, and second short distance communication is performedvia direct communication between devices, and not by using the relay110.

In operation S1001, because the first device 100 receives the connectioninformation which relates to the second short distance communication andapplication information which relates to the second device 120 broadcastfrom the second device 120 via BLE communication, in operation S1002,the first device 100 detects an occurrence of the first short distancecommunication. Although operations S1001 and S1002 are shown asdifferent operations for convenience of explanation, they may beunderstood to be concurrently performed. In particular, the first device100 may detect the occurrence of the first short distance communicationconcurrently with receiving a signal which is broadcast from the seconddevice 120. The second device 120 may not transmit the applicationinformation in operation S1001.

In operation S1003, the first device 100 performs authenticationprocessing with respect to the second device 120. Authenticationprocessing may be performed by authenticating authentication informationwhich is received from the second device 120. The authenticationinformation may be previously set in each of the first device 100 andthe second device 120. The authentication information may be receivedfrom the second device 120 in operation S1001. If the authenticationinformation is not received from the second device 120 in operationS1001, and when an exemplary embodiment is implemented not to performauthentication processing with respect to the second device 120,operation S1003 may be skipped.

When an exemplary embodiment is implemented to perform authenticationprocessing with respect to the second device 120, if the authenticationinformation is not received from the second device 120 or wrongauthentication information is received from the second device 120, thefirst device 100 may not perform a next operation.

In operation S1004, the first device 100 displays information whichrelates to the second device 120. To this end, the second device 120 maytransmit the information which relates to the second device 120 to thefirst device in operation S1001.

After the first device 100 detects the occurrence of the first shortdistance communication in operation S1002, the first device 100 may beimplemented to receive the above-described authentication informationand the information which relates to the second device 120 based on aninformation request from the first device 100 to the second device 120.

In operation S1005, if a user input which relates to a selection of aconnection to the second device 120 is received based on the displayedinformation which relates to the second device 120, in operation S1006,the first device 100 determines the second short distance communicationmode that may be performed by the second device 120 by using theconnection information which relates to the second short distancecommunication mode. The determining of the second short distancecommunication mode is performed as described above with reference tooperation S301 of FIG. 3.

FIG. 10 shows a case in which the second short distance communicationmode that may be performed by the second device 120 uses directcommunication between devices, and does not use the relay 110. Thus, inoperation S1007, the first device 100 may transmit information whichrelates to the first device 100 which is necessary for a request fordirect communication between devices to the second device 120 via BLEcommunication. Thus, the second device 120 may attempt to perform directcommunication between devices with the first device 100 first by usingthe information which relates to the first device 100.

However, the application execution method of FIG. 10 may be implementednot to perform operation S1007 such that direct communication betweendevices may be attempted by only the first device 100.

In operation S1008, the first device 100 requests the second device 120for connection therebetween by using the received connection informationwhich relates to the second short distance communication mode that maybe performed by the second device 120. In operation S1009, if aconnection acceptance signal is received from the second device 120, inoperation S1010, the first device 100 executes an application. Theexecuting of the application may be performed as illustrated in theflowchart of FIG. 4.

In operation S1011, the first device 100 controls the second device 120via the direct communication between the devices based on the executedapplication.

FIG. 11 is a block diagram of the first device 100, according to anexemplary embodiment.

Referring to FIG. 11, the first device 100 includes an information inputand output unit 1110, a first short distance communication unit 1120, asecond short distance communication unit 1130, a processor 1140, amemory 1150, a power supply 1160, and a port 1170. However, the firstdevice 100 may include more or less elements than those shown in FIG.11.

For example, the first device 100 may be configured not to include theport 1170, or may be configured to include a camera module or/and aglobal positioning system (GPS) module. However, elements that are orare not included in the first device 100 are not limited thereto.

The first short distance communication unit 1120 and the second shortdistance communication unit 1130 may also include more or less elementsthan those shown in FIG. 11, or may be coupled to each other orseparated from each other.

In particular, a BLE module 1122 which is included in the first shortdistance communication unit 1120 and a Bluetooth communication unit 1132which is included in the second short distance communication unit 1130may be configured as a single chip set. In this case, the chip set mayoperate in a dual mode to drive the BLE module 1122 when the firstdevice 100 is in a first short distance communication mode, and to drivethe Bluetooth communication unit 1132 when the first device 100 is in asecond short distance communication mode.

A wireless LAN communication unit 1131 may include both a function ofdirect communication between devices (for example, a WiFi directfunction) and a communication function which uses the relay 110 (forexample, an infrastructure mode wireless LAN function) or may includeonly the communication function which uses the relay 110. When thewireless LAN communication unit 1131 includes both the function ofdirect communication between devices and the communication functionwhich uses the relay 110, the wireless LAN communication unit 1131 mayselectively operate the function of direct communication between devicesand the communication function which uses the relay 110 based on asecond short distance communication mode that may be performed by thesecond device 120.

For example, when the second short distance communication mode that maybe performed by the second device 120 does not use the relay 110, thewireless LAN communication unit 1131 performs the function of directcommunication between devices. When the second short distancecommunication mode that may be performed by the second device 120 usesthe relay 110, the wireless LAN communication unit 1131 performs thecommunication function which uses the relay 110.

The information input and output unit 1110 receives user inputinformation and output information which relates to the first device100. For example, the user input information may include any one or moreof touch based input information, physical button control based inputinformation, user gesture based input information, user voicerecognition based input information, face recognition based inputinformation, and remote controller (not shown) based input information,but is not limited thereto.

The information input and output unit 1110, according to an exemplaryembodiment, may display information which relates to the second device120 as described above in relation to operation S804 of FIG. 8 andoperation S1004 of FIG. 10, and may receive the user input informationwhich relates to a selection of a connection to the second device 120 asdescribed above in relation to operation S805 of FIG. 8 and operationS1005 of FIG. 10. The information input and output unit 1110 may outputor reproduce information based on an execution of an application andreceive the user input information based on the outputting orreproducing information as described above in relation to operation S712of FIG. 7, operation S813 of FIG. 8, operation S909 of FIG. 9, andoperation S1010 of FIG. 10.

The information input and output unit 1110 may include any one or moreof a dial, a slider switch, a joystick, a click wheel, a touch pad, atouch screen, a button, a microphone, a speaker, sensors, a displaylight, a key pad, a display device, a scroll wheel, and a wirelesscommunication based remote signal receiver, etc., but is not limitedthereto. A camera that is not shown in FIG. 11 may be included in theinformation input and output unit 1110 based on information obtained bythe camera. The information input and output unit 1110 may include auser interface and/or a graphical user interface.

The first short distance communication unit 1120 performs first shortdistance communication between the first device 100 and the seconddevice 120 as described above with reference to FIG. 1 according to anexemplary embodiment. The first short distance communication unit 1120includes an NFC module 1121 and the BLE module 1122, but is not limitedthereto. The elements included in the first short distance communicationunit 1120 may be coupled to the elements included in the second shortdistance communication unit 1130 in a hardware manner, and may maintaina first short distance communication function even though the firstshort distance communication unit 1120 is coupled to the second shortdistance communication unit 1130 in the hardware manner.

The NFC module 1121 may perform a read/write mode with respect to an NFCmodule which is included in the second device 120 or exchange data withthe NFC module of the second device 120 via mutual communication in aP2P mode, because a distance between the first device 100 and the seconddevice 120 is within a first short distance communication radius. Whenthe first short distance communication radius is based on an NFC mode asdescribed above with reference to FIG. 1, although the first shortdistance communication radius is generally 10 cm, because it may be upto a maximum of 20 cm, the first short distance communication radiusbased on the NFC mode is not limited thereto.

When the NFC module 1121 performs the read/write mode, the NFC modulewhich is included in the second device 120 may be configured as a tag ina manual mode. When the NFC module 1121 performs the read/write mode orin the P2P mode, the NFC module 1121 may read, for example, connectioninformation which relates to the second short distance communicationmode and application information which relates to the second device 120,from the NFC module which is included in the second device 120, andwrite connection information which relates to the relay 110 in the NFCmodule which is included in the second device 120. Information stored inthe NFC module which is included in the second device 120 may notinclude the application information which relates to the second device120.

The BLE module 1122 may receive a signal which is broadcast from thesecond device 120. When the BLE module 1122 operates, it may beunderstood that the BLE module 1122 of the first device 100 operates ina slave mode (i.e., as a peripheral device) of the second device 120,and a BLE module of the second device 120 operates in a master mode(i.e., as a central device) of the first device 100.

The signal which is broadcast via the BLE module 1122 may include theconnection information which relates to the second short distancecommunication mode that may be performed by the second device 120 andthe application information which relates to the second device 120,information which relates to the second device 120, and authenticationinformation which relates to the second device 120 as described abovewith reference to FIG. 1, but is not limited thereto. Theabove-described broadcast signal may not include some of theabove-described information. The information which relates to the seconddevice 120 may include any one or more of a MAC address of the seconddevice 120, a Bluetooth address thereof, a product name thereof, profileinformation thereof, etc., but is not limited thereto.

The second short distance communication unit 1130 may perform secondshort distance communication with the second device 120 according to anexemplary embodiment as described above with reference to FIG. 1. Tothis end, the second short distance communication unit 1130 may includethe wireless LAN communication unit 1131 and the Bluetooth communicationunit 1132, but is not limited thereto. For example, the second shortdistance communication unit 1130 may further include a Zigbeecommunication module and a UWB communication module, etc. and/or mayinclude one of the wireless LAN communication unit 1131 and theBluetooth communication unit 1132.

The wireless LAN communication unit 1131 may be configured toselectively perform a function of direct communication between devices(for example, a WiFi direct function included in an ad-hoc mode wirelessLAN) and a communication function which uses the relay 110 (for example,an infrastructure mode wireless LAN function), or may be configured toperform the function of direct communication between devices or thecommunication function which uses the relay 110 as described above. Thewireless LAN communication unit 1131 may operate a WiFi mode as a dualmode as described above.

The Bluetooth communication unit 1132 may perform second short distancecommunication between the first device 100 and the second device 120 byusing classic Bluetooth communication (i.e., direct communicationbetween devices). However, the Bluetooth communication unit 1132 may beconfigured as a single chip which contains the BLE module 1122 andclassic Bluetooth communication functionality as described above inorder to selectively perform the BLE module 1122 and the classicBluetooth communication.

The processor 1140 may usually control a general operation of the firstdevice 100. Thus, the processor 1140 may be referred to as a controller.The processor 1140 may recognize the second device 120 via first shortdistance communication with the second device 120 which is connected tothe first device, may connect to the second device 120 by using thesecond short distance communication mode, and may execute an applicationwhich relates to the second device 120. The processor 1140 may control auser interface which is based on the information input and output unit1110 and control the power supply 1160. The processor 1140 may monitor aconnection status of the port 1170, and, if the connection status isdetected, may perform a corresponding operation.

The memory 1150 may store a program and data for performing theapplication execution method according to an exemplary embodiment. Theprogram may be based on the flowcharts shown in FIGS. 2, 3, and 4 andthe flowchart of the first device 100 which is shown in FIGS. 7, 8, 9,and 10. Accordingly, the processor 1140 may execute the program storedin the memory 1150 and perform the operations of the first device 100 inaccordance with the flowcharts shown in FIGS. 2, 3, and 4 and FIGS. 7,8, 9, and 10.

The data may include, for example, any one or more of connectioninformation which relates to the relay 110 that was connected or isconnectable to the first device 100, a Bluetooth address of the firstdevice 100, a MAC address thereof, an IP address thereof, profileinformation thereof, a product name thereof, etc., but is not limitedthereto.

The memory 1150 may store the connection information which relates tothe second short distance communication mode that may be performed bythe second device 120, application information which relates to thesecond device 120, and information which relates to the second device120 which is received from the second device 120. The information whichrelates to the second device 120 may be stored based on a registrationrequest of the second device 120 or when the information which relatesto the second device 120 is received.

The program stored in the memory 1150 according to an exemplaryembodiment may include, for example, at least one of a managementprogram of the second device 120, an application management program, anda service management program, but is not limited thereto. The managementprogram of the second device 120 may manage a connection and adisconnection between the second device 120 and the first device 100,and control and manage communication between the second device 120 andan application which is executed by the first device 100. Theapplication management program may launch or search for an applicationwhich relates to the second device 120. The service management programmay process a command language with respect to an application beingexecuted and the second device 120.

The memory 1150 may include at least one type of storage medium, such asany one or more of a flash memory type, a hard disk type, a multimediacard micro type, a card type memory (for example, SD, XD memory, etc.),random access memory (RAM), static random access memory (SRAM), readonly memory (ROM), electronically erasable programmable ROM (EEPROM),programmable ROM (PROM) magnetic memory, and an optical disk.

If the processor 1140 recognizes that a connection event which relatesto the second device 120 via the port 1170 or the first short distancecommunication unit 1120 takes place, the processor 1140 may execute theabove-described management program of the second device 120, applicationmanagement program, and service management program, and control thefirst short distance communication unit 1120, the second short distancecommunication unit 1130, the information input and output unit 1110, thepower supply 1160, and the port 1170.

The power supply 1160 supplies power to a hardware component which isincluded in the first device 100 in accordance with a control of theprocessor 1140 based on an operating system stored in the memory 1150and the above-described programs. For example, if a power saving modecontrol signal is received from the processor 1140 which control signalrelates to power supplied to perform an output function of theinformation input and output unit 1110, the power supply 1160 supplieslimited power such that the output function of the information input andoutput unit 1110 operates in a power saving mode.

When the second device 120 is connected to the port 1170, the port 1170provides a communication channel between the first device 100 and thesecond device 120. The port 1170 may be a physical port which supports aspecific communication channel. For example, the port 1170 may include aphysical port which relates to a wired channel, such as, for example, auniversal serial bus (USB) 1171 and/or a universal asynchronousreceiver/transmitter (UART) 1172, but is not limited thereto. When thesecond device 120 is connected to the first device 100 via the port1170, the first device 100 and the second device 120 may execute anapplication while transmitting and receiving data by wire.

FIG. 12 is a block diagram of the second device 120, according to anexemplary embodiment. FIG. 12 shows a case in which first short distancecommunication is performed by using one of an NFC mode and a BLEcommunication mode, and second short distance communication is performedby using one of a Bluetooth communication mode and a wireless LANcommunication mode.

Referring to FIG. 12, the second device 120 includes an informationinput and output unit 1210, a first short distance communication unit1220 which includes an NFC module 1221 and a BLE module 1222, a secondshort distance communication unit 1230 which includes a wireless LANcommunication unit 1231 and a Bluetooth communication unit 1232, aprocessor 1240, a memory 1250, hardware 1260 of the second device 120,and a port 1270.

When the second device 120 is configured as shown in FIG. 12, user inputinformation which relates to selecting a first short distancecommunication mode and a second short distance communication mode viathe information input and output unit 1210 may be received. The NFCmodule 1221 and the BLE module 1222 which are included in the firstshort distance communication unit 1220 may be selectively driven and thewireless LAN communication unit 1231 and the Bluetooth communicationunit 1232 which are included in the second short distance communicationunit 1230 may be selectively driven via a communication mode that is setin the processor 1240 based on the received user input information.

The information input and output unit 1210 receives the user inputinformation and outputs information which is output from the seconddevice 120 in conjunction with an execution of an application. The userinput information may include, for example, any one or more of touchbased input information, physical button control based inputinformation, user gesture based input information, user voicerecognition based input information, face recognition based inputinformation, and remote controller (not shown) based input information,but is not limited thereto.

The information input and output unit 1210 may be configured accordingto input information that may be received. For example, if theapplication is executed and there is no user input information which isreceived based on the second device 120, and user input information isnecessary to request a connection based on the second short distancecommunication between the first device 100 and the second device 120,the information input and output unit 1210 may include a physical buttonwhich is capable of requesting the connection between the first device100 and the second device 120 based on the second short distancecommunication and a function block which is capable of outputtinginformation which requires output from among Information received fromthe first device 100 in conjunction with the application which isexecuted by the first device 100 after the connection based on thesecond short distance communication between the first device 100 and thesecond device 120 is established.

The NFC module 1221 may be configured as an NFC tag, as a chip forreading/writing from/to the NFC module 1121 of FIG. 11, and/or toperform bi-directional data communication with the NFC module 1121 in aP2P mode, as described above with reference to the NFC module 1121.

The wireless LAN communication unit 1231 may be configured toselectively perform direct communication between devices andcommunication which uses the relay 110, to perform only directcommunication between devices, or to perform only the communicationwhich uses the relay 110, similarly as described above with respect tothe wireless LAN communication unit 1131 of FIG. 11.

The memory 1250 may store programs and data which are necessary forcontrolling a general operation of the second device 120 in theprocessor 1240. The programs may include a program for performing theapplication execution method according to an exemplary embodiment. Theprograms, which are for performing the application execution method andare stored in the memory 1250, may include a communication program forcommunicating between the first device 100 and the second device 120 anda program for controlling the hardware 1260 of the second device 120based on the application which is executed by the first device 100, butis not limited thereto.

The memory 1250 may store programs for performing the applicationexecution method in accordance with respective communication modes.Accordingly, the programs may be executed based on a communication modewhich is determined by the processor 1240.

The memory 1250 may include at least one type of storage medium, suchas, for example, any one or more of a flash memory type, a hard disktype, a multimedia card micro type, a card type memory (for example, SD,XD memory, etc.), RAM, SRAM, ROM, EEPROM, PROM magnetic memory, and anoptical disk.

The data stored in the memory 1250 may include connection informationwhich relates to the second short distance communication mode that maybe performed by the second device 120, application information whichrelates to the second device 120, information which relates to thesecond device 120, and authentication information which relates to thesecond device 120, but is not limited thereto.

The hardware 1260 of the second device 120 may be defined based on afunction of the second device 120. For example, if the second device 120is a smart watch which operates in accordance with an application whichlinks with the first device 100, the hardware 1260 of the second device120 may include a physical function unit (for example, a GPS module, amicrophone, a speaker, etc.) which is necessary for performing afunction of the smart watch which links with the application which isexecuted by the first device 100.

If the second device 120 is an insulin resistance and sensitivitymeasurement device which links with an insulin monitoring applicationwhich is executed by the first device 100, the hardware 1260 of thesecond device 120 may include the insulin resistance and sensitivitymeasurement device, but is not limited thereto. The hardware 1260 of thesecond device 120 may include various sensors which are based on thefunction of the second device 120.

When the application which is executed by the first device 100 is amusical instrument application, and the second device 120 is a keyboardor guitar, the hardware 1260 of the second device 120 may include ahardware component which is capable of playing the keyboard or guitarbased on a control signal of the first device 100.

When the application which is executed by the first device 100 is akaraoke application, and the second device 120 is a microphone, thehardware 1260 of the second device 120 may include a hardware componentwhich is configured for turning on/off the microphone and/or turning avolume level of the microphone, and, when the second device 120 is aspeaker, the hardware 1260 of the second device 120 may include ahardware component which is configured for adjusting a sound outputenvironment, but the hardware component is not limited thereto.

The second device 120 may implement a function which is performed by thehardware 1260 of the second device 120 in a software manner, mayminimize the hardware 1260 of the second device 120, or may not includethe hardware 1260 of the second device 120. In this case, software isstored in the memory 1250 and may be executed by the processor 1240based on a control signal which is received from the first device 100.

The port 1270 may include at least one of a USB port and a UART port,similarly as described above with respect to the port 1170 of FIG. 11,but is not limited thereto. The second device 120 may not include theport 1270, which thus is shown in a dotted line in FIG. 12. If the firstdevice 100 and the second device 120 are connected to each other via theport 1270, the first device 100 and the second device 120 may link witheach other via a wired communication channel.

When the second device 120 of FIG. 12 performs first short distancecommunication based on an NFC mode and second short distancecommunication based on a wireless LAN mode, the second device 120 mayinclude the information input and output unit 1210, the NFC module 1221,the wireless LAN communication unit 1231, the processor 1240, the memory1250, the hardware 1260 of the second device 120, and the port 1270, butis not limited thereto. For example, the second device 120 may furtherinclude a power supply or may not include the port 1270.

The processor 1240 controls a general operation of the second device 120by executing the programs which are stored in the memory 1250. Thus, theprocessor 1240 may be referred to as a controller. In particular, theprocessor 1240 establishes a connection which is based on the secondshort distance communication between the first device 100 and the seconddevice 120 via the NFC module 1221 in accordance with the applicationexecution method according to an exemplary embodiment. Afterestablishing the connection between the first device 100 and the seconddevice 120 based on the second short distance communication, if theprocessor 1240 receives a control signal in accordance with theapplication which is executed by the first device 100, the processor1240 controls the hardware 1260 of the second device 120.

The programs which are stored in the memory 1250 may include a programwhich is based on the flowcharts of the second device 120 shown in FIGS.5, 6, and 7.

When the second device 120 of FIG. 12 performs first short distancecommunication based on a BLE communication mode and second shortdistance communication based on the wireless LAN mode, the second device120 may include the information input and output unit 1210, the BLEmodule 1222, the wireless LAN communication unit 1231, the processor1240, the memory 1250, the hardware 1260 of the second device 120, andthe port 1270, but is not limited thereto.

The BLE module 1220 broadcasts the connection information which relatesto the second short distance communication and related applicationinformation as described above with reference to operation S801 of FIG.8, further broadcasts authentication information which relates to thesecond device 120 and information which relates to the second device120, and receives connection information which relates to the relay 110from the BLE module 1122 of the first device 100. However, theinformation which is broadcast by the BLE module 1220 may not includethe above-described related application information.

The processor 1240 may control the operation of the second device 120such that first short distance communication is performed based on theBLE communication mode, and control the operation of the second device120 as illustrated in the flowcharts of the second device 120 shown inFIGS. 6 and 8 by using the connection information which relates to therelay 110 which information is received from the BLE module 1122.

The memory 1250 may store a program and data as indicated in theflowcharts of the second device 120 shown in FIGS. 6, 7, and 8. Theprogram and data stored in the memory 1250 may be defined as the programand data stored in the memory 1150 of FIG. 11.

When the second device 120 performs first short distance communicationbased on the NFC mode and the second short distance communication basedon the Bluetooth communication mode, the second device 120 may operatebased on the flowchart shown in FIG. 5 and the flowchart of the seconddevice 120 shown in FIG. 9.

In this case, the second device 120 may include the information inputand output unit 1210, the NFC module 1221, the Bluetooth communicationunit 1232, the processor 1240, the memory 1250, the hardware 1260 of thesecond device 120, and the port 1270, but is not limited thereto.

Because the second device 120 performs second short distancecommunication based on the Bluetooth communication mode, the operationof the processor 1240 and the program and data stored in the memory 1250may be different from that described above such that second shortdistance communication may be performed between the first device 100 andthe second device 120 based on the Bluetooth communication unit 1232.

When the second device 120 performs first short distance communicationbased on the BLE communication mode and the second short distancecommunication based on the Bluetooth communication mode, the seconddevice 120 may operate based on the flowchart shown in FIG. 6 and theflowchart of operations of the second device 120 shown in FIG. 10.

In this case, the second device 120 may include the information inputand output unit 1210, the BLE module 1222, the Bluetooth communicationunit 1232, the processor 1240, the memory 1250, the hardware 1260 of thesecond device 120, and the port 1270, but is not limited thereto.

In this case, because the second device 120 performs second shortdistance communication based on the Bluetooth communication mode, theoperation of the processor 1240 and the program and data stored in thememory 1250 may be different from the above-described examples such thatsecond short distance communication may be established between the firstdevice 100 and the second device 120 based on the Bluetoothcommunication unit 1232.

When the second device 120 performs first short distance communicationbased on one of the NFC mode and the BLE communication mode and thesecond short distance communication based on the wireless LAN mode, thesecond device 120 may include the information input and output unit1210, the NFC module 1221, the BLE module 1222, the wireless LANcommunication unit 1231, the processor 1240, the memory 1250, thehardware 1260 of the second device 120, and the port 1270, but is notlimited thereto.

In this case, if the first device 100 is configured as shown in FIG. 11and transmits information which is broadcast by the BLE module 1222 tothe second device 120, the processor 1240 may operate to disregard asignal which is received based on an operation of the NFC module 1221 ormay disable the operation of the NFC module 1221.

However, if the first device 100 is not configured as shown in FIG. 11and includes the NFC module 1221 only, although the BLE module 1222operates in an active mode, the second device 120 may perform firstshort distance communication for establishing the connection based onthe second short distance communication via the NFC module 1221. Theprogram stored in the memory 1250 may be configured to selectivelyoperate the NFC module 1221 and the BLE module 1222 as described above.

Meanwhile, when the second device 120 performs first short distancecommunication based on one of the NFC mode and the BLE communicationmode and the second short distance communication based on the Bluetoothcommunication mode, the second device 120 may include the informationinput and output unit 1210, the NFC module 1221, the BLE module 1222,the Bluetooth communication unit 1232, the processor 1240, the memory1250, the hardware 1260 of the second device 120, and the port 1270, butis not limited thereto. In this case, each element may operate similarlyas described above with respect to the above-described examples.

In this case, the program stored in the memory 1250 may be differentfrom the programs stored in the above-described examples in performingfirst short distance communication. The difference is that the NFCmodule 1221 and the BLE module 1222 are selectively operated when firstshort distance communication is performed.

The BLE module 1222 and the Bluetooth communication unit 1232 may beconfigured as a single chip based on a dual mode in a hardware manner asdescribed with reference to FIG. 11 and may selectively operate thesingle chip when first and second short distance communication areperformed.

The application execution method according to exemplary embodiments mayalso be embodied as computer readable codes on a transitory ornon-transitory computer readable recording medium. The computer readablemedium may be any recording apparatus which is capable of storing datathat is read by a computer system, e.g., a read-only memory (ROM), arandom access memory (RAM), a compact disc (CD)-ROM, a magnetic tape, afloppy disk, an optical data storage device, and so on. The computerreadable medium may be distributed among computer systems that areinterconnected through a network, and one or more of the exemplaryembodiments may be stored and implemented as computer readable code in adistributed manner.

While the present inventive concept has been particularly shown anddescribed with reference to exemplary embodiments thereof, it will beunderstood by those of ordinary skill in the art that various changes inform and details may be made therein without departing from the spiritand scope of the present inventive concept as defined by the followingclaims.

What is claimed is:
 1. A method for controlling a second device, themethod being performed by a first device and comprising: receivingidentification information which relates to the second device from thesecond device based on a first short distance communication; receiving acomputer program corresponding to at least part of the identificationinformation from a server based on the identification information;executing the computer program; establishing a second short distancecommunication different from the first short distance communicationbetween the second device and the first device; and transmitting asignal for controlling the second device to perform at least oneoperation to the second device via the second short distancecommunication by using the executed computer program.
 2. The method ofclaim 1, further comprising: in response to receiving the identificationinformation, identifying whether a computer program corresponding to atleast part of the identification information is installed; and inresponse to identifying the computer program being not installed in thefirst device, receiving the computer program from the server.
 3. Themethod of claim 1, wherein the at least part of the identificationinformation comprises first identification information which is used forsearching for the computer program by the server.
 4. The method of claim1, further comprising communicating with the server based on a firstcommunication.
 5. The method of claim 4, further comprising: identifyingan occurrence of the first short distance communication with the seconddevice; identifying that the first communication and the first shortdistance communication are based on a relay; and setting a communicationmode of the first device to a dual mode.
 6. The method of claim 5,further comprising: communicating, through the relay, with the serverbased on the first communication and a first internet protocol (IP)address; and communicating, through the relay, with the second devicebased on the first short distance communication and a second IP address.7. The method of claim 6, wherein the first IP address and the second IPaddress are the same.
 8. The method of claim 6, further comprisingidentifying the first IP address and the second IP address among aplurality of IP addresses previously allocated to the first device, andwherein the first IP address and the second IP address are different. 9.The method of claim 1, further comprising: receiving, by using thecomputer program, a data of content from the server, and transmittingthe data of content to the second device based on the second shortdistance communication.
 10. The method of claim 9, further comprising:transmitting the signal for controlling the second device to display thecontent.
 11. The method of claim 9, wherein the receiving of the data ofthe content and the transmitting of the signal are performedsimultaneously.
 12. A device comprising: a first communicationinterface; a second communication interface; and at least one processorwhich is configured to: control the first communication interface toreceive identification information which relates to a second device fromthe second device based on a first short distance communication, receivea computer program corresponding to at least part of the identificationinformation from a server based on the identification information,execute the computer program, control the second communication interfaceto establish a second short distance communication different from thefirst short distance communication between the second device and thefirst device, and control the second communication interface to transmita signal for controlling the second device to perform at least oneoperation to the second device via the second short distancecommunication by using the executed computer program.
 13. The device ofclaim 12, wherein the at least one processor is further configured to:in response to receiving the identification information, identifywhether a computer program corresponding to at least part of theidentification information is installed; and in response to identifyingthe computer program being not installed in the first device, receivethe computer program from the server.
 14. The device of claim 12,wherein the at least part of the identification information comprisesfirst identification information which is used for searching for thecomputer program by the server and second identification informationwhich is used for authenticating the second device.
 15. The device ofclaim 12, wherein the at least one processor is further configured tocommunicate with the server based on a first communication.
 16. Thedevice of claim 15, wherein the at least one processor is furtherconfigured to: identify an occurrence of the first short distancecommunication with the second device; identify that the firstcommunication and the first short distance communication are based on arelay; and set a communication mode of the first device to a dual mode.17. The device of claim 16, wherein the at least one processor isfurther configured to: communicate, through the relay, with the serverbased on the first communication and a first internet protocol (IP)address; and communicate, through the relay, with the second devicebased on the first short distance communication and a second IP address.18. The device of claim 17, wherein the first IP address and the secondIP address are the same.
 19. The device of claim 17, wherein the atleast one processor is further configured to identify the first IPaddress and the second IP address among a plurality of IP addressespreviously allocated to the first device, and wherein the first IPaddress and the second IP address are different.
 20. A non-transitorycomputer readable storage medium having instructions recorded thereon,the instructions configured to be executed by at least one circuit toenable the at least one circuit to perform at least one operation, theat least one operation comprising: receiving identification informationwhich relates to a second device from the second device based on a firstshort distance communication; receiving a computer program correspondingto at least part of the identification information from a server basedon the identification information; executing the computer program;establishing a second short distance communication different from thefirst short distance communication between the second device and thefirst device; and transmitting a signal for controlling the seconddevice to perform at least one operation to the second device via thesecond short distance communication by using the executed computerprogram.